package com.btpj.shop.service;

import com.btpj.shop.dto.param.GoodsParam;
import com.btpj.shop.entity.Goods;

public interface GoodsService {

    /**
     * 添加商品
     *
     * @param goodsParam GoodsParam
     * @return 是否成功
     */
    boolean addGoods(GoodsParam goodsParam);

    /**
     * 更新商品信息
     *
     * @param id         商品ID
     * @param goodsParam GoodsParam
     * @return 是否成功
     */
    boolean updateGoods(Long id, GoodsParam goodsParam);

    /**
     * 更新商品上架状态
     *
     * @param ids        商品ID集合
     * @param sellStatus 商品上架状态必须取值0:上架 1:下架
     * @return 是否成功
     */
    boolean updateGoodsSellStatus(Long[] ids, Byte sellStatus);

    /**
     * 是否存在指定编号的商品
     *
     * @param id 商品编号
     * @return 是否存在指定编号的商品
     */
    boolean exists(Long id);

    /**
     * 获取商品信息
     *
     * @param id 商品编号
     * @return 商品信息
     */
    Goods getGoods(Long id);

    /**
     * 删除指定编号的商品
     *
     * @param id 商品编号
     * @return 是否成功
     */
    boolean deleteGoods(Long id);
}
